This invention relates generally to digital systems that use a fixed number of signal lines for communicating addresses to a digital memory element having a plurality of addressable memory locations, and more particularly to an apparatus and method that enhances the performance of existing game or computer systems which, because of unalterable prior design limitations, are limited in the amount of directly addressable ROM and RAM memory.
The television video game industry has for some time been producing video games for home use that incorporate microprocessors to maintain and control game play operation. The currently most popular form of such a video game is the Atari Model CX-2600 Video Computer System (VCS, a trademark of Atari, Inc.) which includes a console unit containing the microprocessor and other electronic circuitry that receives player input information from player manipulated elements (i.e., paddles, joysticks, and the like) and generates electronic signals that are used to drive a TV display unit. The game console is provided with a receptacle that removably receives a relatively inexpensive portable cartridge. The cartridge contains an electronic microcircuit, including a form of read only memory (ROM) that stores the program of the video game to be played. With a plurality of such interchangeable cartridges, the consumer can use the video game console to execute any one of a large selection of video games.
A potential problem with any digital system, one which has developed in the video game industry, and specifically in the case of the Atari VCS, resides in the limited number of individually addressable memory locations in the game cartridge which can be uniquely addressed by the microprocessor unit. This limit is related to the number of signal lines used to make up the address bus that conducts address signals to the cartridge memory; since the address bus of the VCS consists of thirteen signal lines, one being reserved for external memory selection, i.e., chip select, the system can handle a maximum of only 2.sup.12 or 4,096 uniquely addressable ROM memory locations in the cartridge for containing the program instructions used by the microprocessor to define the video game. As the video game market has matured, game designers who have grown accustomed to the Atari VCS and other game systems are now developing games that are more sophisticated in that they have involved game play and enhanced graphics and, as a consequence, require a larger ROM memory than can be directly addressed by the limited number of address signal lines available at the game console/cartridge connector.
A system for expanding the number of ROM memory locations contained in the game cartridge of a video game system without requiring additional address lines is described in U.S. Pat. No. 4,368,515, and includes a supplemental address decode logic coupled between the address bus and thee memory element. The address decode logic monitors the address signals communicated on the address bus and, in response to detection of a preselected address generates a selection signal. The selection signal is applied to the address circuit of the ROM, together with the address bus, the selection signal being terminated in response to the detection of a second preselected address. Thus, a two-bank system having an address bus limited to N signal lines for addressing a maximum of 2.sup.N memory locations is now capable of addressing (2.sup.N+1 -4) memory locations. The system and the program ROM with which it operates is incorporated in a single microcircuit chip that is mounted within the video game cartridge. By supplementing thee program ROM, existing video game apparatus can be programmed for more complex video games, existing video games can be improved to operate faster, and cartridges can be made to contain a greater number of individual games.
While the system described in U.S. Pat. No. 4,368,515 partially overcomes the limitations of the VCS design, it does not overcome the limitation inherent in the method by which it must put graphics on the TV display. In the VCS the microprocessor must draw each frame of the picture on the television screen line-by-line; consequently, only during the intervals when no changes are being made between subsequent lines of the picture that is on the screen, that is, primarily during the vertical blanking interval, is the microprocessor free to determine the changes which must occur in the next succeeding picture on the display and to do any other housekeeping chores that may be necessary. In other words, except during the vertical blanking interval the microprocessor works almost exclusively in just putting the graphic information on the television screen. This being the case, it is useful to be able to calculate in advance and store as much information as possible in temporary memory locations (i.e., random access memory) during the vertical blanking interval.
While the VCS provides for a limited amount of RAM in the console, specifically, 128 bytes, as video games have become more sophisticated the need to temporarily store greater amounts of information either resulting from mathematical calculations or which must be rapidly displayed as graphics, has limited the sophistication of the games that can be designed for play on a VCS console. Accordingly, it is desirable to incorporate additional RAM into the game system, and also increase the number of addressable memory locations in ROM, both without changing the number of address signal lines in the connector of the current VCS and, since field modification of the millions of game consoles already in use would not be feasible, the additional RAM must be easily added by the consumer and preferably added in the cartridge.